package com.woniuxy.ams.service;

import com.woniuxy.ams.entity.User;

import java.util.List;

/**
 * @author fyx
 */
public interface UserService {
    /**
     * 查询所有的用户，附带搜索功能
     *
     * @param user 传入user，用于搜索
     * @return user集合
     */
    List<User> findAllAndSearch(User user);

    /**
     * 通过名字查找用户
     *
     * @param name 用户名
     * @return 用户
     */
    User findOneByName(String name);

    /**
     * 通过id查找用户
     *
     * @param id id
     * @return 用户
     */
    User findOneById(int id);

    /**
     * 通过用户名删除用户
     *
     * @param name 用户名
     * @return 是否操作成功
     */
    boolean deleteUserByName(String name);

    /**
     * 添加用户
     *
     * @param user 传入用户
     * @return 是否成功
     */
    boolean addUser(User user);

    /**
     * 通过用户名删除用户
     *
     * @param ids 用户id 集合
     * @return 是否操作成功
     */
    boolean deleteUserByIds(List<Integer> ids);

    /**
     * 重置用户的密码,初始密码123
     *
     * @param user 用户
     * @return 是否操作成功
     */
    boolean resetPassword(User user);

    /**
     * 修改用户的密码,初始密码123
     *
     * @param user 用户
     * @return 是否操作成功
     */
    boolean setPassword(User user);

    /**
     * 修改用户信息,同时重置密码
     *
     * @param user 用户
     * @return 是否操作成功
     */
    boolean updateByUser(User user);


    /**
     * 分组查询, 安装角色分组
     *
     * @param data user
     * @param type 分组类型
     * @return user集合
     */
    List<User> findUsersByGroup(User data, String type);
}
